/**************************************************************/
/*                                                            */
/*     MC823 - Laboratorio de Teleprocessamento e Redes       */
/*     1 Semestre / 2013                                      */
/*     Projeto 1 - Cliente e Servidor RMI de uma Livraria     */
/*                                                            */
/*     Alunos: Joao Gabriel M.D.Mendes - RA 102788            */
/*             Lucas Domingues Lima    - RA 103140            */
/*                                                            */
/**************************************************************/

/* Arquivo: livraria/rmi/src/t_livro.java
   Definicao: Classe t_livro, com todas as informacoes
   			  sobre um livro e funcoes para ler essas informacoes.
   			  O unico atributo alteravel e o int num, que se refere
   			  ao numero de exemplares em estoque.
*/

package livraria.rmi;

public class t_livro {
	private String ISBN;
	private String titulo;
	private String autor;
	private String descricao;
	private String editora;
	private String ano;
	private int num;
	
	//construtor padrao simples
	public t_livro(String ISBN1, String title, String autor1,
					String descr, String editor, String year, int num1) {
		this.ISBN = ISBN1;
		this.titulo = title;
		this.autor = autor1;
		this.descricao = descr;
		this.editora = editor;
		this.ano = year;
		this.num = num1;
	}
	
	//funcoes de leitura dos atributos (para evitar acesso direto
	//as informacoes, que nao devem ser editaveis.
	public String get_ISBN() { return this.ISBN; }
	public String get_titulo() { return this.titulo; }
	public String get_autor() { return this.autor; }
	public String get_descricao() { return this.descricao; }
	public String get_editora() { return this.editora; }
	public String get_ano() { return this.ano; }
	public int get_num() { return this.num; }
	
	//funcao de alteracao do numero de exemplares de um estoque.
	//Aqui nao e feito checagem de autorizacao do usuario para 
	//realizar alteracoes. Checagem e feita na classe Server, para
	//verificar se usuario e do tipo livraria e pode realizar
	//alteracoes ou nao.
	public String set_num(int new_num) {
		int old_num = this.num;
		this.num = new_num;
		return String.format("Estoque de ISBN %s alterado de %d para %d", 
								this.ISBN, old_num, this.num);
	}
	
}